/*
题目描述
写两个函数，分别求两个整数的最大公约数和最小公倍数。用主函数分别调用这两个函数，并输出结果。

输入
两个用空格隔开的正整数，保证二者的值均不超过10000。

输出
输出两个正整数的最大公约数和最小公倍数，用空格隔开。
请注意行尾输出换行。
*/
#include <stdio.h>
int getYS(int a, int b)
{
    int ys = 1;
    for (int i = 1; i <= (a > b ? b : a); i++)
    {
        if (a % i == 0 && b % i == 0)
        {
            ys = i;
        }
    }
    return ys;
}
int getBS(int a, int b)
{
    int bs = a * b / getYS(a, b);
    return bs;
}

int main()
{
    int a, b;
    scanf("%d %d", &a, &b);
    printf("%d %d\n", getYS(a, b),getBS(a,b));
}